import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param x int整型 
     * @return int整型
     */
    public int reverse (int x) {
        // write code here

        if(x==0){
            return x;
        }
        boolean f=false;
        if(x<0){
            x=-x;
            f=true;
        }
        int res=0;
        while(x>0){
            //每一次反转操作之前需要提前判断下一步反转是否溢出
            //如果下一步溢出，最终结果会截断不准确，需要提前判断是否溢出
            if(res<Integer.MIN_VALUE/10||res>Integer.MAX_VALUE/10){
                return 0;
            }
            res=res*10+x%10;
            x/=10;
        }
        if(f){
            return -res;
        }
        return res;
    }
}